home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Shareware / Utilitare / emu / Emu8086_Setup_307c.exe / {app} / Samples / keybrd.asm < prev    next >
Assembly Source File  |  2002-08-23  |  1KB  |  71 lines

  1. ; This sample shows the
  2. ; use of keyboard functions.
  3. ; Try typing something to
  4. ; "User Screen". 
  5. ;
  6. ; When "step delay" is too
  7. ; long, keyboard buffer
  8. ; is used.
  9. ;
  10. ; Try setting "step delay"
  11. ; to 1, for more realistic
  12. ; emulation.
  13. ;
  14. ; This code will loop until
  15. ; you press ESC key, other
  16. ; keys will be printed.
  17.  
  18.  
  19. #make_COM#
  20.  
  21. ; Used to print a message:
  22. include 'emu8086.inc'
  23.  
  24. ORG     100h
  25.  
  26. ; Print a welcome message:
  27. LEA     SI, msg1
  28. CALL    print_string
  29.  
  30. ;============================
  31. ; Eternal loop to get
  32. ; and print keys:
  33.  
  34. wait_for_key:
  35.  
  36. ; check for keystroke in
  37. ; keyboard buffer:
  38.         MOV     AH, 1
  39.         INT     16h
  40.         JZ      wait_for_key
  41.  
  42. ; get keystroke from keyboard:
  43. ; (remove from the buffer)
  44. MOV     AH, 0
  45. INT     16h
  46.  
  47. ; print the key:
  48. MOV     AH, 0Eh
  49. INT     10h
  50.  
  51. ; press 'ESC' to exit:
  52. CMP     AL, 1Bh
  53. JZ      exit
  54.  
  55. JMP     wait_for_key
  56. ;============================
  57.  
  58. exit:
  59. RET
  60.  
  61. DEFINE_PRINT_STRING
  62.  
  63. msg1 DB 'Type anything...', 13, 10
  64.      DB '[Enter] - carriage return.', 13, 10
  65.      DB '[Ctrl]+[Enter] - line feed.', 13, 10
  66.      DB 'You will hear a beep', 13, 10
  67.      DB '    when buffer is overflown.', 13, 10
  68.      DB 'Press ESC to exit.', 13, 10, 0
  69.  
  70. END
  71.